package com.jsh.erp.controller;
import com.jsh.erp.datasource.entities.SystemConfig;
import com.jsh.erp.service.systemConfig.SystemConfigService;
import com.jsh.erp.utils.BaseResponseInfo;
import com.jsh.erp.utils.ErpInfo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.List;

@RestController
@RequestMapping(value = "/systemConfig")
@Api(tags = {"系统管理——系统配置"})
public class SystemConfigController {
    private Logger logger = LoggerFactory.getLogger(SystemConfigController.class);

    @Resource
    private SystemConfigService systemConfigService;

    /**
     * 零售管理——零售出库——查询列表，查看详情，编辑，新增
     *          零售退货——查询列表，查看详情，编辑，新增
     * 采购管理——请购单——查询列表，查看详情，编辑，复制，新增
     *         采购订单——查询列表，查看详情，编辑，复制，新增
     *         采购入库——查询列表，查看详情，编辑，复制，新增
     *         采购退货——查询列表，查看详情，编辑，复制，新增
     * 销售管理——销售订单——查询列表，查看详情，编辑，复制，新增
     *          销售出库——查询列表，查看详情，编辑，复制，新增
     *          销售退货——查询列表，查看详情，编辑，复制，新增
     * 财务管理——收款单——查询列表，查看详情，编辑，新增
     *          付款单——查询列表，查看详情，编辑，新增
     *          收预付款——查询列表，查看详情，编辑，新增
     * 报表查询——出库明细——点击单据编号
     *         入库明细——点击单据编号
     *         供应商对账——点击欠款，点击单据编号
     *         客户对账——点击欠款，点击单据编号
     * 系统管理——用户管理——查询列表
     */
    @GetMapping(value = "/getCurrentInfo")
    @ApiOperation(value = "获取当前系统的配置信息")
    public BaseResponseInfo getCurrentInfo(HttpServletRequest request) throws Exception {
        BaseResponseInfo res = new BaseResponseInfo();
        try{
            List<SystemConfig> list = systemConfigService.getSystemConfig();
            res.code = ErpInfo.OK.code;
            if(list.size()>0) {
                res.data = list.get(0);
            }
        } catch(Exception e){
            logger.error(e.getMessage(), e);
            res.code = ErpInfo.ERROR.code;
            res.data = ErpInfo.ERROR.name;;
        }
        return res;
    }
}
